
#ifndef _TTG_MATH_MAT3X3X_
#define _TTG_MATH_MAT3X3X_
#include "Common/Definitions.h"

#include "mat3x3.h"

namespace ttg
{
	namespace math
	{
		class mat3x3f :public mat3x3<float>
		{
			public:
				inline mat3x3f()
					:mat3x3<float>()
						{ /*nothing*/ }

				inline mat3x3f(const mat3x3<float> &mat)
					:mat3x3<float>(mat)
						{ /*nothing*/ }

		#ifdef MICROSOFT_DIRECTX

				inline mat3x3f(const D3DXMATRIX &mat)
					:mat3x3<float>(mat)
						{ /*nothing*/ }

		#endif

		#ifdef NVIDIA_PHYSX

				inline mat3x3f(const NxMat33 &mat)
					:mat3x3<float>(mat)
						{ /*nothing*/ }

		#endif

				inline mat3x3f(float _11, float _12, float _13,
							   float _21, float _22, float _23,
							   float _31, float _32, float _33)
					:mat3x3<float>(_11, _12, _13,
								   _21, _22, _23,
								   _31, _32, _33)
						{ /*nothing*/ }

			static const mat3x3f ZERO;
			static const mat3x3f IDENTITY;
		};
	}
}

#endif
